<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>S110_nRF51822/Include/ble/softdevice/ble_gattc.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51822 BLE SDK
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('ble__gattc_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">S110_nRF51822/Include/ble/softdevice/ble_gattc.h</div>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.</span>
<a name="l00002"></a>00002 <span class="comment"> *</span>
<a name="l00003"></a>00003 <span class="comment"> * The information contained herein is confidential property of Nordic Semiconductor. The use,</span>
<a name="l00004"></a>00004 <span class="comment"> * copying, transfer or disclosure of such information is prohibited except by express written</span>
<a name="l00005"></a>00005 <span class="comment"> * agreement with Nordic Semiconductor.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> */</span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef BLE_GATTC_H__</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define BLE_GATTC_H__</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;ble_types.h&quot;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;ble_ranges.h&quot;</span>
<a name="l00019"></a>00019 
<a name="l00021"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#ga69b579663f889c0ce87a8931b51048b4">00021</a> <span class="preprocessor">#define GATT_RX_MTU 23</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 
<a name="l00025"></a>00025 <span class="keyword">enum</span>
<a name="l00026"></a>00026 {
<a name="l00027"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea00fb64064a22761492f99aae634fa03b">00027</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea00fb64064a22761492f99aae634fa03b">SVC_BLE_GATTC_MTU_EXCHANGE</a>  = BLE_GATTC_SVC_BASE,    
<a name="l00028"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eab2219d6d4b0792dacb38eb86f768539c">00028</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eab2219d6d4b0792dacb38eb86f768539c">SVC_BLE_GATTC_PRIMARY_SVC_DISCOVERY_START</a>,           
<a name="l00029"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea6550d778ff2253fb7bbbe966b41b1b53">00029</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea6550d778ff2253fb7bbbe966b41b1b53">SVC_BLE_GATTC_PRIMARY_SVC_DISCOVERY_CONTINUE</a>,        
<a name="l00030"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea50c48fb057ef036d0c72d092d08266ea">00030</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea50c48fb057ef036d0c72d092d08266ea">SVC_BLE_GATTC_RELATIONSHIP_DISCOVERY_START</a>,          
<a name="l00031"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea048c234e4e13b88d2c8a599558a89004">00031</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea048c234e4e13b88d2c8a599558a89004">SVC_BLE_GATTC_RELATIONSHIP_DISCOVERY_CONTINUE</a>,       
<a name="l00032"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eac6677ffd067f91c9cc88ced48809af4a">00032</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eac6677ffd067f91c9cc88ced48809af4a">SVC_BLE_GATTC_CHAR_DISCOVERY_START</a>,                  
<a name="l00033"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eacdcddeb91db5a6dc08b464819b768e29">00033</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eacdcddeb91db5a6dc08b464819b768e29">SVC_BLE_GATTC_CHAR_DISCOVERY_CONTINUE</a>,               
<a name="l00034"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaa8ee0cf5e211c0b68a3a55d5edf5dc10">00034</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaa8ee0cf5e211c0b68a3a55d5edf5dc10">SVC_BLE_GATTC_CHAR_DESC_DISCOVERY_START</a>,             
<a name="l00035"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaa833654531fbbfd647dc6faeee26829d">00035</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaa833654531fbbfd647dc6faeee26829d">SVC_BLE_GATTC_CHAR_DESC_DISCOVERY_CONTINUE</a>,          
<a name="l00036"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea2a3e40f59cf6fc3f2fcfab65168bcd30">00036</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea2a3e40f59cf6fc3f2fcfab65168bcd30">SVC_BLE_GATTC_CHAR_VALUE_READ_BY_UUID_START</a>,         
<a name="l00037"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea641f1c40cb0fee01ea8ed283b900dd17">00037</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea641f1c40cb0fee01ea8ed283b900dd17">SVC_BLE_GATTC_CHAR_VALUE_READ_BY_UUID_CONTINUE</a>,      
<a name="l00038"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea66d0eb93cc84b8f7ab29d61d7fb8387c">00038</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea66d0eb93cc84b8f7ab29d61d7fb8387c">SVC_BLE_GATTC_READ_START</a>,                            
<a name="l00039"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eafb84c5abcafab8b6e1a3b74c078f4c7c">00039</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eafb84c5abcafab8b6e1a3b74c078f4c7c">SVC_BLE_GATTC_READ_CONTINUE</a>,                         
<a name="l00040"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea1e3585de41f16c82b51d6ec576e4893e">00040</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea1e3585de41f16c82b51d6ec576e4893e">SVC_BLE_GATTC_WRITE_START</a>,                           
<a name="l00041"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea82b25b6184f53c2aa4015fbe9696ad01">00041</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea82b25b6184f53c2aa4015fbe9696ad01">SVC_BLE_GATTC_WRITE_CONTINUE</a>,                        
<a name="l00042"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaedfb2b90c7c752e2861da6d5d91b7f1c">00042</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaedfb2b90c7c752e2861da6d5d91b7f1c">SVC_BLE_GATTC_HVC</a>                                    
<a name="l00043"></a>00043 };
<a name="l00044"></a>00044 
<a name="l00045"></a>00045 
<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00048"></a>00048 {
<a name="l00049"></a>00049   uint16_t          first_handle;
<a name="l00050"></a>00050   uint16_t          last_handle;
<a name="l00051"></a>00051 } <a class="code" href="structble__gatt__handle__range__t.html" title="First/last handle for an operation.">ble_gatt_handle_range_t</a>;
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 
<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00056"></a>00056 {
<a name="l00057"></a>00057   <a class="code" href="structble__uuid__t.html" title="Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs.">ble_uuid_t</a>              svc_uuid;
<a name="l00058"></a>00058   <a class="code" href="structble__gatt__handle__range__t.html" title="First/last handle for an operation.">ble_gatt_handle_range_t</a> handle_range;
<a name="l00059"></a>00059 } <a class="code" href="structble__gatt__svc__t.html" title="GATT service.">ble_gatt_svc_t</a>;
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 
<a name="l00063"></a>00063 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065   uint16_t          handle;
<a name="l00066"></a>00066   <a class="code" href="structble__gatt__svc__t.html" title="GATT service.">ble_gatt_svc_t</a>    included_svc;
<a name="l00067"></a>00067 } <a class="code" href="structble__gatt__include__t.html" title="GATT include.">ble_gatt_include_t</a>;
<a name="l00068"></a>00068 
<a name="l00069"></a>00069 
<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00072"></a>00072 {
<a name="l00073"></a>00073   <a class="code" href="structble__uuid__t.html" title="Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs.">ble_uuid_t</a>        uuid;
<a name="l00074"></a>00074   uint8_t           properties;
<a name="l00075"></a>00075   uint16_t          handle_decl;
<a name="l00076"></a>00076   uint16_t          handle_value;
<a name="l00077"></a>00077 } <a class="code" href="structble__gatt__char__t.html" title="GATT characteristic.">ble_gatt_char_t</a>;
<a name="l00078"></a>00078 
<a name="l00079"></a>00079 
<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00082"></a>00082 {
<a name="l00083"></a>00083   <a class="code" href="structble__uuid__t.html" title="Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs.">ble_uuid_t</a>        uuid;
<a name="l00084"></a>00084   uint16_t          handle;
<a name="l00085"></a>00085  } <a class="code" href="structble__gatt__desc__t.html" title="GATT attribute.">ble_gatt_desc_t</a>;
<a name="l00086"></a>00086 
<a name="l00087"></a>00087 
<a name="l00089"></a>00089 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00090"></a>00090 {
<a name="l00091"></a>00091   uint8_t           uuid_cnt;
<a name="l00092"></a>00092   <a class="code" href="structble__uuid__t.html" title="Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs.">ble_uuid_t</a>*       p_svc_uuids;
<a name="l00093"></a>00093 } <a class="code" href="structble__uuid__list__t.html" title="List of uuids.">ble_uuid_list_t</a>;
<a name="l00094"></a>00094 
<a name="l00095"></a>00095 
<a name="l00098"></a>00098 <span class="preprocessor">#define BLE_GATTC_WRITE_OP_WWR   0x00  </span>
<a name="l00099"></a>00099 <span class="preprocessor">#define BLE_GATTC_WRITE_OP_SWWR  0x01  </span>
<a name="l00100"></a>00100 <span class="preprocessor">#define BLE_GATTC_WRITE_OP_WCV   0x02  </span>
<a name="l00101"></a>00101 <span class="preprocessor">#define BLE_GATTC_WRITE_OP_WL    0x03  </span>
<a name="l00102"></a>00102 <span class="preprocessor">#define BLE_GATTC_WRITE_OP_RW    0x04  </span>
<a name="l00107"></a>00107 <span class="preprocessor">typedef struct</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span>{
<a name="l00109"></a><a class="code" href="structble__gattc__write__params__t.html#a3e51b45c667efa72dc910de504a00e32">00109</a>   uint8_t    <a class="code" href="structble__gattc__write__params__t.html#a3e51b45c667efa72dc910de504a00e32">write_op</a>;                 
<a name="l00110"></a><a class="code" href="structble__gattc__write__params__t.html#af242d6e3b6108ea75e1eb236e94c8240">00110</a>   uint16_t   <a class="code" href="structble__gattc__write__params__t.html#af242d6e3b6108ea75e1eb236e94c8240">handle</a>;                   
<a name="l00111"></a><a class="code" href="structble__gattc__write__params__t.html#ac681806181c80437cfab37335f62ff39">00111</a>   uint16_t   <a class="code" href="structble__gattc__write__params__t.html#ac681806181c80437cfab37335f62ff39">offset</a>;                   
<a name="l00112"></a><a class="code" href="structble__gattc__write__params__t.html#a8aed22e2c7b283705ec82e0120515618">00112</a>   uint16_t   <a class="code" href="structble__gattc__write__params__t.html#a8aed22e2c7b283705ec82e0120515618">len</a>;                      
<a name="l00113"></a><a class="code" href="structble__gattc__write__params__t.html#a7e38674b09ada3bb654e2c2146044d30">00113</a>   uint8_t*   <a class="code" href="structble__gattc__write__params__t.html#a7e38674b09ada3bb654e2c2146044d30">p_value</a>;                  
<a name="l00114"></a>00114 } <a class="code" href="structble__gattc__write__params__t.html" title="Write Parameters.">ble_gattc_write_params_t</a>;
<a name="l00115"></a>00115 
<a name="l00116"></a>00116 
<a name="l00120"></a>00120 <span class="keyword">enum</span>
<a name="l00121"></a>00121 {
<a name="l00122"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da4463aead9008d020b3669661161e2ca3">00122</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da4463aead9008d020b3669661161e2ca3">BLE_GATTC_EVT_MTU_XCHG_RSP</a>  = BLE_GATTC_EVT_BASE,  
<a name="l00123"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4dafa85db020c06c37320d15c29ae1b203c">00123</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4dafa85db020c06c37320d15c29ae1b203c">BLE_GATTC_EVT_PRIM_SVC_DISC_RSP</a>,     
<a name="l00124"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4dac52e2f11dc65da2efe53f7041d0ead6b">00124</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4dac52e2f11dc65da2efe53f7041d0ead6b">BLE_GATTC_EVT_REL_DISC_RSP</a>,          
<a name="l00125"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4dac385b5d8f35de9cfd0df5b5aea9cb310">00125</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4dac385b5d8f35de9cfd0df5b5aea9cb310">BLE_GATTC_EVT_CHAR_DISC_RSP</a>,         
<a name="l00126"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da990d593e0c54f813ee6d6bb7fad619a2">00126</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da990d593e0c54f813ee6d6bb7fad619a2">BLE_GATTC_EVT_DESC_DISC_RSP</a>,         
<a name="l00127"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4daef2150824e07820691bc4de7a3d035f6">00127</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4daef2150824e07820691bc4de7a3d035f6">BLE_GATTC_EVT_READ_BY_UUID_RSP</a>,      
<a name="l00128"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da2355be2e3b5c9bd1c235f7abbc56ef6d">00128</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da2355be2e3b5c9bd1c235f7abbc56ef6d">BLE_GATTC_EVT_READ_RSP</a>,              
<a name="l00129"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da6a70fe83b91997c8d3cd47b6cd98a91a">00129</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da6a70fe83b91997c8d3cd47b6cd98a91a">BLE_GATTC_EVT_WRITE_RSP</a>,             
<a name="l00130"></a><a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da0f71b4e016b2049dfbd74fa2e46b9cd3">00130</a>   <a class="code" href="group___b_l_e___g_a_t_t_c.html#gga16af7b253440dadd46a80a4b9fddba4da0f71b4e016b2049dfbd74fa2e46b9cd3">BLE_GATTC_EVT_HVX</a>                    
<a name="l00131"></a>00131 };
<a name="l00132"></a>00132 
<a name="l00133"></a>00133 
<a name="l00134"></a>00134 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00135"></a>00135 {
<a name="l00136"></a><a class="code" href="structble__gattc__evt__mtu__xchg__rsp.html#a8c9b5f514041e4085c6a8cd8756b776f">00136</a>   uint16_t <a class="code" href="structble__gattc__evt__mtu__xchg__rsp.html#a8c9b5f514041e4085c6a8cd8756b776f">att_mtu</a>;                    
<a name="l00137"></a>00137  } <a class="code" href="structble__gattc__evt__mtu__xchg__rsp.html">ble_gattc_evt_mtu_xchg_rsp</a>;
<a name="l00138"></a>00138 
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00141"></a>00141 {
<a name="l00142"></a>00142   uint8_t             count;
<a name="l00143"></a>00143   <a class="code" href="structble__gatt__svc__t.html" title="GATT service.">ble_gatt_svc_t</a>*     p_svcs;
<a name="l00144"></a>00144 } <a class="code" href="structble__gattc__evt__prim__svc__disc__rsp__t.html">ble_gattc_evt_prim_svc_disc_rsp_t</a>;
<a name="l00145"></a>00145 
<a name="l00146"></a>00146 
<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00149"></a>00149 {
<a name="l00150"></a>00150   uint8_t count;
<a name="l00151"></a>00151   <a class="code" href="structble__gatt__include__t.html" title="GATT include.">ble_gatt_include_t</a>* p_includes;
<a name="l00152"></a>00152 } <a class="code" href="structble__gattc__evt__rel__disc__rsp__t.html" title="GATT relationship parameter.">ble_gattc_evt_rel_disc_rsp_t</a>;
<a name="l00153"></a>00153 
<a name="l00154"></a>00154 
<a name="l00156"></a>00156 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00157"></a>00157 {
<a name="l00158"></a>00158   uint8_t             count;
<a name="l00159"></a>00159   <a class="code" href="structble__gatt__char__t.html" title="GATT characteristic.">ble_gatt_char_t</a>*    p_chars;
<a name="l00160"></a>00160 } <a class="code" href="structble__gattc__evt__char__disc__rsp__t.html" title="GATT characteristic parameter.">ble_gattc_evt_char_disc_rsp_t</a>;
<a name="l00161"></a>00161 
<a name="l00162"></a>00162 
<a name="l00164"></a>00164 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00165"></a>00165 {
<a name="l00166"></a>00166   uint8_t             count;
<a name="l00167"></a>00167   <a class="code" href="structble__gatt__desc__t.html" title="GATT attribute.">ble_gatt_desc_t</a>*    p_desc;
<a name="l00168"></a>00168 } <a class="code" href="structble__gattc__evt__desc__disc__rsp__t.html" title="GATT characteristic parameter.">ble_gattc_evt_desc_disc_rsp_t</a>;
<a name="l00169"></a>00169 
<a name="l00170"></a>00170 
<a name="l00172"></a>00172 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00173"></a>00173 {
<a name="l00174"></a>00174   uint8_t             dlen;
<a name="l00175"></a>00175   uint8_t*            p_data;
<a name="l00176"></a>00176 } <a class="code" href="structble__gattc__evt__read__by__uuid__rsp__t.html" title="GATT read by UUID parameter.">ble_gattc_evt_read_by_uuid_rsp_t</a>;
<a name="l00177"></a>00177 
<a name="l00178"></a>00178 
<a name="l00179"></a>00179 <span class="comment">/* GATT write by UUID parameter. */</span>
<a name="l00180"></a>00180 <span class="preprocessor">#define ble_gattc_evt_read_rsp_t  ble_gattc_evt_read_by_uuid_rsp_t</span>
<a name="l00181"></a>00181 <span class="preprocessor"></span>
<a name="l00182"></a>00182 
<a name="l00184"></a>00184 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00185"></a>00185 {
<a name="l00186"></a>00186   uint8_t             write_op;
<a name="l00187"></a>00187 } <a class="code" href="structble__gattc__evt__write__rsp__t.html" title="GATT write parameter.">ble_gattc_evt_write_rsp_t</a>;
<a name="l00188"></a>00188 
<a name="l00189"></a>00189 
<a name="l00191"></a>00191 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00192"></a>00192 {
<a name="l00193"></a>00193   uint8_t             indication;
<a name="l00194"></a>00194   uint16_t            handle;
<a name="l00195"></a>00195   uint8_t             dlen;
<a name="l00196"></a>00196   uint8_t*            p_data;
<a name="l00197"></a>00197  } <a class="code" href="structble__gattc__evt__hvx__t.html" title="GATT handle indication parameter.">ble_gattc_evt_hvx_t</a>;
<a name="l00198"></a>00198 
<a name="l00199"></a>00199 
<a name="l00201"></a>00201 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00202"></a>00202 {
<a name="l00203"></a><a class="code" href="structble__gattc__evt__t.html#a0d5ffe38d68e48d81e61fc6a4999ae68">00203</a>   uint16_t            <a class="code" href="structble__gattc__evt__t.html#a0d5ffe38d68e48d81e61fc6a4999ae68">conn_handle</a>;                
<a name="l00204"></a><a class="code" href="structble__gattc__evt__t.html#ae36c42fd46c47ccd82845ed37d02ff4c">00204</a>   uint8_t             <a class="code" href="structble__gattc__evt__t.html#ae36c42fd46c47ccd82845ed37d02ff4c">gatt_status</a>;                
<a name="l00205"></a>00205   <span class="keyword">union</span>
<a name="l00206"></a>00206   {
<a name="l00207"></a>00207     <a class="code" href="structble__gattc__evt__mtu__xchg__rsp.html">ble_gattc_evt_mtu_xchg_rsp</a>         mtu_xchg_rsp;
<a name="l00208"></a>00208     <a class="code" href="structble__gattc__evt__prim__svc__disc__rsp__t.html">ble_gattc_evt_prim_svc_disc_rsp_t</a>  prim_svc_disc_rsp;
<a name="l00209"></a>00209     <a class="code" href="structble__gattc__evt__rel__disc__rsp__t.html" title="GATT relationship parameter.">ble_gattc_evt_rel_disc_rsp_t</a>       rel_disc_rsp;
<a name="l00210"></a>00210     <a class="code" href="structble__gattc__evt__char__disc__rsp__t.html" title="GATT characteristic parameter.">ble_gattc_evt_char_disc_rsp_t</a>      char_disc_rsp;
<a name="l00211"></a>00211     <a class="code" href="structble__gattc__evt__desc__disc__rsp__t.html" title="GATT characteristic parameter.">ble_gattc_evt_desc_disc_rsp_t</a>      desc_disc_rsp;
<a name="l00212"></a>00212     <a class="code" href="structble__gattc__evt__read__by__uuid__rsp__t.html" title="GATT read by UUID parameter.">ble_gattc_evt_read_by_uuid_rsp_t</a>   read_by_uuid_rsp;
<a name="l00213"></a>00213     ble_gattc_evt_read_rsp_t           read_rsp;
<a name="l00214"></a>00214     <a class="code" href="structble__gattc__evt__write__rsp__t.html" title="GATT write parameter.">ble_gattc_evt_write_rsp_t</a>          write_rsp;
<a name="l00215"></a>00215     <a class="code" href="structble__gattc__evt__hvx__t.html" title="GATT handle indication parameter.">ble_gattc_evt_hvx_t</a> hvx;
<a name="l00216"></a>00216    } params;
<a name="l00217"></a>00217  } <a class="code" href="structble__gattc__evt__t.html" title="GATTC event type.">ble_gattc_evt_t</a>;
<a name="l00218"></a>00218 
<a name="l00219"></a>00219 
<a name="l00228"></a>00228 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea00fb64064a22761492f99aae634fa03b">SVC_BLE_GATTC_MTU_EXCHANGE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga0c5ff4fdcb426c0903b52cdc1f98bbd7" title="Initiate a GATT MTU Exchange procedure.">ble_gattc_mtu_exchange</a>(uint16_t conn_handle);
<a name="l00229"></a>00229 
<a name="l00230"></a>00230 
<a name="l00240"></a>00240 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eab2219d6d4b0792dacb38eb86f768539c">SVC_BLE_GATTC_PRIMARY_SVC_DISCOVERY_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#gafa086c283159afa91bab44e4767c53f9" title="Initiate a GATT Primary Service Discovery procedure.">ble_gattc_primary_svc_discovery_start</a>(uint16_t conn_handle, <a class="code" href="structble__uuid__list__t.html" title="List of uuids.">ble_uuid_list_t</a> const * const p_svc_uuid_list);
<a name="l00241"></a>00241 
<a name="l00242"></a>00242 
<a name="l00252"></a>00252 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea6550d778ff2253fb7bbbe966b41b1b53">SVC_BLE_GATTC_PRIMARY_SVC_DISCOVERY_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga59881cc7e1a030276b4cede0d74ed755" title="Continue a GATT Primary Service Discovery procedure.">ble_gattc_primary_svc_discovery_continue</a>(uint16_t conn_handle);
<a name="l00253"></a>00253 
<a name="l00254"></a>00254 
<a name="l00264"></a>00264 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea50c48fb057ef036d0c72d092d08266ea">SVC_BLE_GATTC_RELATIONSHIP_DISCOVERY_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga4d0ce82a5c4094815c51d6dfea6fe829" title="Initiate a GATT Relationship Discovery procedure.">ble_gattc_relationship_discovery_start</a>(uint16_t conn_handle, <a class="code" href="structble__gatt__handle__range__t.html" title="First/last handle for an operation.">ble_gatt_handle_range_t</a> const * const p_handle_range);
<a name="l00265"></a>00265 
<a name="l00266"></a>00266 
<a name="l00276"></a>00276 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea048c234e4e13b88d2c8a599558a89004">SVC_BLE_GATTC_RELATIONSHIP_DISCOVERY_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#gaa7d595fea39604e0d787b640eca169a5" title="Continue a GATT Relationship Discovery procedure.">ble_gattc_relationship_discovery_continue</a>(uint16_t conn_handle);
<a name="l00277"></a>00277 
<a name="l00278"></a>00278 
<a name="l00289"></a>00289 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eac6677ffd067f91c9cc88ced48809af4a">SVC_BLE_GATTC_CHAR_DISCOVERY_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga656a5d56489ac0e6eee68ba0448f2381" title="Initiate a GATT Characteristic Discovery procedure.">ble_gattc_char_discovery_start</a>(uint16_t conn_handle, <a class="code" href="structble__gatt__handle__range__t.html" title="First/last handle for an operation.">ble_gatt_handle_range_t</a> const * const p_handle_range, <a class="code" href="structble__uuid__list__t.html" title="List of uuids.">ble_uuid_list_t</a> const * const p_char_uuid_list);
<a name="l00290"></a>00290 
<a name="l00291"></a>00291 
<a name="l00301"></a>00301 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eacdcddeb91db5a6dc08b464819b768e29">SVC_BLE_GATTC_CHAR_DISCOVERY_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga25f5a0a80958fb120b82b264684b5fd6" title="Continue a GATT Characteristic Discovery procedure.">ble_gattc_char_discovery_continue</a>(uint16_t conn_handle);
<a name="l00302"></a>00302 
<a name="l00303"></a>00303 
<a name="l00313"></a>00313 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaa8ee0cf5e211c0b68a3a55d5edf5dc10">SVC_BLE_GATTC_CHAR_DESC_DISCOVERY_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga5dfc25f4c0d7f3db5cc3abb8ce9df4e5" title="Initiate a GATT Characteristic Descriptor Discovery procedure.">ble_gattc_char_desc_discovery_start</a>(uint16_t conn_handle, <a class="code" href="structble__gatt__handle__range__t.html" title="First/last handle for an operation.">ble_gatt_handle_range_t</a> const * const p_handle_range);
<a name="l00314"></a>00314 
<a name="l00315"></a>00315 
<a name="l00325"></a>00325 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaa833654531fbbfd647dc6faeee26829d">SVC_BLE_GATTC_CHAR_DESC_DISCOVERY_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#gaec133389bcc779ee18d09364d8bdb49f" title="Continue a GATT Characteristic Descriptor Discovery procedure.">ble_gattc_char_desc_discovery_continue</a>(uint16_t conn_handle);
<a name="l00326"></a>00326 
<a name="l00327"></a>00327 
<a name="l00338"></a>00338 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea2a3e40f59cf6fc3f2fcfab65168bcd30">SVC_BLE_GATTC_CHAR_VALUE_READ_BY_UUID_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga342f906ff0e8e6cc51c55faf31044a00" title="Initiate a GATT Read using Characteristic UUID procedure.">ble_gattc_char_value_read_by_uuid_start</a>(uint16_t conn_handle, <a class="code" href="structble__gatt__handle__range__t.html" title="First/last handle for an operation.">ble_gatt_handle_range_t</a> const * const p_handle_range, <a class="code" href="structble__uuid__t.html" title="Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs.">ble_uuid_t</a> const * const p_uuid);
<a name="l00339"></a>00339 
<a name="l00340"></a>00340 
<a name="l00350"></a>00350 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea641f1c40cb0fee01ea8ed283b900dd17">SVC_BLE_GATTC_CHAR_VALUE_READ_BY_UUID_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga71de2561c4b00368e16d77275f1537aa" title="Continue a GATT Read using Characteristic UUID procedure.">ble_gattc_char_value_read_by_uuid_continue</a>(uint16_t conn_handle);
<a name="l00351"></a>00351 
<a name="l00352"></a>00352 
<a name="l00364"></a>00364 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea66d0eb93cc84b8f7ab29d61d7fb8387c">SVC_BLE_GATTC_READ_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga52aa85709fb737c2df04f36b6d56fbef" title="Initiate a GATT Read (Long, Multiple) Characteristic or Descriptor procedure.">ble_gattc_read_start</a>(uint16_t conn_handle, uint16_t const * const p_handles, uint8_t handle_count, uint16_t offset);
<a name="l00365"></a>00365 
<a name="l00366"></a>00366 
<a name="l00377"></a>00377 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eafb84c5abcafab8b6e1a3b74c078f4c7c">SVC_BLE_GATTC_READ_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga7bda2d40eb5c3b9a2ce7841bea301709" title="Continue a GATT Read Long Characteristic or Descriptor procedure.">ble_gattc_read_continue</a>(uint16_t conn_handle, uint16_t offset);
<a name="l00378"></a>00378 
<a name="l00379"></a>00379 
<a name="l00389"></a>00389 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea1e3585de41f16c82b51d6ec576e4893e">SVC_BLE_GATTC_WRITE_START</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga461d2e2486001b42f55d0a7487e11956" title="Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not...">ble_gattc_write_start</a>(uint16_t conn_handle, <a class="code" href="structble__gattc__write__params__t.html" title="Write Parameters.">ble_gattc_write_params_t</a> const * const p_write_params);
<a name="l00390"></a>00390 
<a name="l00391"></a>00391 
<a name="l00402"></a>00402 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9ea82b25b6184f53c2aa4015fbe9696ad01">SVC_BLE_GATTC_WRITE_CONTINUE</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#ga2629024c88120c8389d899109af0b693" title="Continue a GATT Write Long or Reliable procedure.">ble_gattc_write_continue</a>(uint16_t conn_handle, <a class="code" href="structble__gattc__write__params__t.html" title="Write Parameters.">ble_gattc_write_params_t</a> const * const p_write_params);
<a name="l00403"></a>00403 
<a name="l00404"></a>00404 
<a name="l00412"></a>00412 uint32_t SVCALL(<a class="code" href="group___b_l_e___g_a_t_t_c.html#gga05589fbab0657f08285ebdfe93f5ec9eaedfb2b90c7c752e2861da6d5d91b7f1c">SVC_BLE_GATTC_HVC</a>) <a class="code" href="group___b_l_e___g_a_t_t_c.html#gaaacf4884da550ac0080b39b30ab9eb37" title="Send a Handle Value Confirmation to the server.">ble_gattc_hvc</a>(uint16_t conn_handle, uint16_t handle);
<a name="l00413"></a>00413 
<a name="l00414"></a>00414 
<a name="l00415"></a>00415 <span class="preprocessor">#endif // BLE_GATTC_H__</span>
<a name="l00416"></a>00416 <span class="preprocessor"></span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>ble_gattc.h</b>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
